package com.streamDemo;

import java.util.ArrayList;
import java.util.Set;
import java.util.stream.Collector;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @Author milian
 * @Date 2021/7/27 0027 10:56
 */
public class demo1 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("林青霞");
        list.add("张曼玉");
        list.add("王祖贤");
        list.add("柳岩");
        list.add("张敏");
        list.add("张无忌");
//        Stream流不改变原集合  Stream流只能有一个终结操作
        /**
         * filter过滤
         * limit截取数据个数
         * skip跳过指定参数个数的数据，返回该流的剩余元素组成的流
         * concat合并两个流
         * distinct去除重复的元素
         * */
        Stream<String> stream1 = list.stream().filter(name -> name.length() == 2);
        Stream<String> stream2 = list.stream().filter(name -> name.startsWith("张")).limit(2).skip(1);
        System.out.println("---------------------");
//        stream3.distinct().forEach(s-> System.out.println(s));
//        使用Collector收集流数据

        Set<String> set = Stream.concat(stream1, stream2).collect(Collectors.toSet());
        System.out.println(set);
    }
}
